/**
 * 京东爬虫任务
 */
module.exports = {
    // 任务名称
    name: '京东',
    
    // 是否启用此任务
    // 💡 提示：即使设为 false，使用 node run.js --task jd 也可以单独测试
    enabled: false,  // 暂时禁用此任务作为演示
    
    // 目标网站URL
    url: 'https://www.jd.com',
    
    // 搜索配置（可选）
    search: {
        url: 'https://search.jd.com/Search',
        selectors: {
            searchInput: '#key',
            searchButton: '.button',
        }
    },
    
    // 页面元素选择器（可选）
    selectors: {
        productList: '.gl-item',
        productTitle: '.p-name',
        productPrice: '.p-price',
        productImage: '.p-img img',
        productLink: '.p-name a'
    },
    
    // 爬取选项
    crawlOptions: {
        maxPages: 5,
        delayBetweenPages: 2000,
        waitForSelector: '.gl-item',
        timeout: 30000
    },
    
    /**
     * 自定义爬取逻辑
     * @param {Page} page - Playwright页面对象
     * @param {EcommerceCrawler} crawler - 爬虫实例
     * @returns {Object} 爬取结果
     */
    async customCrawl(page, crawler) {
        console.log(`🎯 正在爬取【${this.name}】...`);
        
        try {
            // 等待页面加载
            await page.waitForTimeout(3000);
            
            // 获取页面信息
            const title = await page.title();
            const url = page.url();
            
            console.log(`   页面标题: ${title}`);
            
            // 这里可以添加更多的爬取逻辑
            // 例如：提取产品列表、价格信息等
            
            // 返回爬取结果
            return {
                success: true,
                url: url,
                title: title,
                timestamp: new Date().toISOString(),
                data: {
                    // 在这里添加爬取到的数据
                    pageType: 'homepage'
                }
            };
        } catch (error) {
            console.error(`❌ 爬取【${this.name}】失败:`, error.message);
            return {
                success: false,
                error: error.message,
                timestamp: new Date().toISOString()
            };
        }
    }
};
